package pr1.gui;

import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.border.EmptyBorder;

import pr1.bdd.Serie;

public class VerInformacion extends JFrame {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JPanel contentPane;

	/**
	 * Create the frame.
	 */
	public VerInformacion(Serie serie, GUIController gui) {
		super("Información");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 533, 460);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);

		String fin;
		if (serie.getAno_final() == 0) {
			fin = "?";
		} else
			fin = Integer.toString(serie.getAno_final());
		String resultado = serie.getNombreSerie() + "  ("
				+ serie.getAno_estreno() + " - " + fin + ")";

		JLabel nombre = new JLabel(resultado);
		nombre.setFont(new Font("Tahoma", Font.BOLD, 25));
		nombre.setBounds(10, 11, 497, 31);
		contentPane.add(nombre);

		JLabel lblGnero = new JLabel("Género: ");
		lblGnero.setFont(new Font("Tahoma", Font.BOLD, 11));
		lblGnero.setBounds(10, 141, 59, 14);
		contentPane.add(lblGnero);

		StringBuilder sb = new StringBuilder();
		int i = 0;
		String prefix = "";
		while (i < serie.getGeneros().size()) {			
			  sb.append(prefix);
			  prefix = ", ";
			  sb.append(serie.getGeneros().get(i));
			
			i++;
		}
		

		JLabel generos = new JLabel(sb.toString());
		generos.setFont(new Font("Tahoma", Font.BOLD, 11));
		generos.setBounds(68, 141, 234, 14);
		contentPane.add(generos);

		JLabel lblSinopsis = new JLabel("Sinopsis ");
		lblSinopsis.setFont(new Font("Tahoma", Font.BOLD, 11));
		lblSinopsis.setBounds(10, 183, 69, 14);
		contentPane.add(lblSinopsis);

		JTextArea textArea = new JTextArea(serie.getSinopsis());
		JScrollPane scrollPane = new JScrollPane(textArea,
				JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
		scrollPane.setBounds(10, 208, 497, 169);
		contentPane.add(scrollPane);

		JButton seguir = new JButton("Seguir serie");
		seguir.addActionListener(new SigueListener(serie,gui));
		seguir.setBounds(134, 388, 120, 23);
		contentPane.add(seguir);

		JButton btnCerrar = new JButton("Cerrar");
		btnCerrar.addActionListener(new CerrarListener());
		btnCerrar.setBounds(264, 388, 89, 23);
		contentPane.add(btnCerrar);
		
		JTextArea titular = new JTextArea(serie.getTitular());
		titular.setBounds(20, 53, 472, 46);
		contentPane.add(titular);
		
		setVisible(true);
		this.setLocationRelativeTo(null);
	}
	
	private class CerrarListener implements ActionListener{

		@Override
		public void actionPerformed(ActionEvent arg0) {
			setVisible(false);
			
		}
		
	}
	
	private class SigueListener implements ActionListener {
		private Serie serie;
		private GUIController gui;
		public SigueListener(Serie serie, GUIController gui){
			this.serie = serie;
			this.gui = gui;
		}

		@Override
		public void actionPerformed(ActionEvent arg0) {
			ArrayList<String> string = new ArrayList<String>();
			int i = 0;
			
			while (i< gui.seriesQueSigue().size()){
				string.add(gui.seriesQueSigue().get(i).getNombreSerie());
				i++;
			}
			if (!string.contains(serie.getNombreSerie())){//Comprobamos si ya sigue la serie
			gui.sigueSerie(serie);
			JOptionPane.showMessageDialog(new JFrame(), "Estás siguiendo la serie " + serie.getNombreSerie(),
					"", JOptionPane.INFORMATION_MESSAGE, null);}
			else{
				gui.dejaSeguirSerie(serie);
				JOptionPane.showMessageDialog(new JFrame(), "Has dejado de seguir la serie " + serie.getNombreSerie(),
						"", JOptionPane.INFORMATION_MESSAGE, null);
			}
			gui.actualizarComboSeries();
				
		}
		
	
		
	}

}
